package com.ts.service.achievement;

import com.ts.dto.PageDTO;
import com.ts.dto.PaperDTO;
import com.ts.entity.Paper;
import com.ts.result.PageResult;

/**
 * 论文业务层接口
 */
public interface PaperService {

    /**
     * 新增论文
     * @param paperDTO 论文数据传输对象（含新增所需字段）
     */
    void save(PaperDTO paperDTO);

    /**
     * 根据ID删除论文
     * @param id 论文ID
     */
    void deleteById(Long id);

    /**
     * 根据ID更新论文
     * @param paperDTO 论文数据传输对象（含ID及待更新字段）
     */
    void updateById(PaperDTO paperDTO);

    /**
     * 根据ID查询论文
     * @param id 论文ID
     * @return 论文实体（含详情信息）
     */
    Paper getById(Long id);

    /**
     * 分页查询论文
     * @param pageDTO 分页查询参数（含页码、每页条数等）
     * @return 分页结果（含总条数、当前页数据等）
     */
    PageResult pageQuery(PageDTO pageDTO);
}